package com.appium.manager.template;


import com.appium.manager.element.config.YmlElementBinder;
import com.appium.manager.template.core.AbstractHybridTemplate;
import static com.appium.manager.element.config.ymlHandler.ElementBinderConfig.DEFAULT_ELEMENT_YML;

/**
 * <p>
 *     配置模式
 * </p>
 * @author 大忽悠
 * @create 2022/6/25 17:49
 */
public class ConfigAppiumHybridTemplate extends AbstractHybridTemplate {
    /**
     * 元素定位器
     */
    protected YmlElementBinder elementHelper;
    /**
     * 元素绑定文件路径
     */
    protected String elementBinderFilePath=DEFAULT_ELEMENT_YML;

    @Override
    protected void afterInit() {
        super.afterInit();
        elementHelper=new YmlElementBinder(androidDriver,testDataFilePath,elementBinderFilePath);
    }

    public ConfigAppiumHybridTemplate() {
        init();
    }


    /**
     * 设置配置文件的路径和测试数据文件路径
     */
    public ConfigAppiumHybridTemplate(String configPath, String elementBinderFilePath, String testDataFilePath){
        this.appiumConfigFilePath=configPath;
        this.testDataFilePath=testDataFilePath;
        this.elementBinderFilePath=elementBinderFilePath;
        init();
    }

    public ConfigAppiumHybridTemplate(String elementBinderFilePath, String testDataFilePath){
        this.testDataFilePath=testDataFilePath;
        this.elementBinderFilePath=elementBinderFilePath;
        init();
    }

    public YmlElementBinder getElementBinder(){
        return elementHelper;
    }

    public void setElementBinderFilePath(String elementBinderFilePath) {
        this.elementBinderFilePath = elementBinderFilePath;
    }
}
